<?php   // $Id: debug.php 293 2008-10-06 07:50:48Z pcoustillas $ ?>
<?php  
/*Copyright (C) 2008 Pierre Coustillas
Licensed under the terms of the GNU  General Public License:http://www.opensource.org/licenses/gpl-license.php
File Authors:Pierre Coustillas */

/* Ce fichier permet de logguer les erreurs php dans le fichier /error.log */

//$debug=1; //activer le débugage
$debug=0; //désactiver le débugage
date_default_timezone_set("Europe/Paris");

if ($debug == 1)
{

	function myErrorHandler($errno, $errstr, $errfile, $errline)
	{

		$msg_erreur="";

		// commenter ou décommenter les lignes que vous voulez débuger
		switch ($errno) {
		case E_USER_ERROR:
			$msg_erreur.= "E_USER_ERROR";
			break;
		case E_ERROR:
			$msg_erreur.= "E_ERROR";
			break;
		case E_WARNING:
			$msg_erreur.= "E_WARNING";
			break;
		case E_PARSE:
			$msg_erreur.= "E_PARSE";
			break;
		case E_NOTICE:
			$msg_erreur.= "E_NOTICE";
			break;
		case E_CORE_ERROR:
			$msg_erreur.= "E_CORE_ERROR";
			break;
		case E_CORE_WARNING:
			$msg_erreur.= "E_CORE_WARNING";
			break;
		case E_COMPILE_ERROR:
			$msg_erreur.= "E_COMPILE_ERROR";
			break;
		case E_COMPILE_WARNING:
			$msg_erreur.= "E_COMPILE_WARNING";
			break;
		case E_USER_ERROR:
			$msg_erreur.= "E_USER_ERROR";
			break;
		case E_USER_WARNING:
			$msg_erreur.= "E_USER_WARNING";
			break;
		case E_USER_NOTICE:
			$msg_erreur.= "e_user_notice";
			break;
		case E_ALL:
			$msg_erreur.= "E_ALL";
			break;
		case E_STRICT:
			$msg_erreur.= "E_STRICT";
			break;
		case E_RECOVERABLE_ERROR:
			$msg_erreur.= "E_RECOVERABLE_ERROR";
			break;
		default:
			$msg_erreur.= "INCONNU";
		}

		if ($msg_erreur != "")
		{
			$jour = date("d");
			$mois = date("m");
			$annee = date("Y");
			$heure = date("H");
			$min = date("i");
			$msg_date="$jour/$mois/$annee $heure:$min - ";

			//permet d'ajouter l'identifiant de session à chaque message
			if (isset($_COOKIE['PHPSESSID']))
			{
				$cook=substr($_COOKIE['PHPSESSID'],0,4);
			} else {
				$cook="";
			}

			$msg_erreur=$cook . " " . $msg_date . substr($msg_erreur . "                 ",0,19);


			$msg_erreur.= ' ' . substr($errline . "   ",0,4);
			$msg_erreur.= ' ' . $errstr;
			$msg_erreur.= '  -  ' . $errfile;
			$msg_erreur.= "\n";

			file_put_contents(dirname(__FILE__) . '/../error.log',$msg_erreur,FILE_APPEND);

		}

		/* Ne pas exécuter le gestionnaire interne de PHP */
		return true;
	}
	

// Configuration du gestionnaire d'erreurs
$old_error_handler = set_error_handler("myErrorHandler");


}
